#include "variant.h"
#include "nrf.h"
#include "wiring_constants.h"
#include "wiring_digital.h"

const uint32_t g_ADigitalPinMap[] = {
    // P0
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17,
    18,
    19,
    20,
    21,
    22,
    23,
    24,
    25,
    26,
    27,
    28,
    29,
    30,
    31,

    // P1
    32,
    33,
    34,
    35,
    36,
    37,
    38,
    39,
    40,
    41,
    42,
    43,
    44,
    45,
    46,
    47,
};

void initVariant()
{
    // Initialize the digital pins as inputs or outputs
    pinMode(PIN_LED1, OUTPUT);
    digitalWrite(PIN_LED1, HIGH);

    pinMode(PIN_LED2, OUTPUT);
    digitalWrite(PIN_LED2, HIGH);

    // Initialize LoRa pins
    pinMode(SX126X_RESET, OUTPUT);
    digitalWrite(SX126X_RESET, HIGH);

    pinMode(SX126X_CS, OUTPUT);
    digitalWrite(SX126X_CS, HIGH);

    pinMode(GPS_EN_GPIO, OUTPUT);
    digitalWrite(GPS_EN_GPIO, HIGH); // GPS on initially

    pinMode(SCREEN_12V_ENABLE, OUTPUT);
    digitalWrite(SCREEN_12V_ENABLE, LOW); //

    pinMode(BATTERY_CHARGING_INV, INPUT);
}
